home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1995 April / Internet Tools.iso / infoserv / www / cern / dev / www-talk.9301-9306.Z / www-talk.9301-9306 / text1104.txt < prev    next >
Encoding:
Text File  |  1995-04-24  |  2.0 KB  |  69 lines

  1. *** gui2.c-orig    Sat Apr 17 22:52:44 1993
  2. --- gui2.c    Tue May 11 10:12:54 1993
  3. ***************
  4. *** 258,284 ****
  5.   
  6.   /* ---------------------- mo_post_open_local_window ----------------------- */
  7.   
  8.   static XmxCallback (open_local_win_cb)
  9.   {
  10. !   char *fname;
  11. !   char *url;
  12. !   mo_window *win = mo_fetch_window_by_id (XmxExtractUniqid ((int)client_data));
  13.   
  14. !   XtUnmanageChild (win->open_local_win);
  15. !   fname = (char *)malloc (128 * sizeof (char));
  16.     
  17. !   XmStringGetLtoR (((XmFileSelectionBoxCallbackStruct *)call_data)->value,
  18. !                    XmSTRING_DEFAULT_CHARSET,
  19. !                    &fname);
  20. !   url = (char *)malloc 
  21. !     ((strlen (fname) + strlen (shortmachine) + 16) * sizeof (char));
  22. !   sprintf (url, "file://%s%s\0", shortmachine, fname);
  23. !   if (url[strlen(url)-1] == '/')
  24. !     url[strlen(url)-1] = '\0';
  25. !   mo_load_window_text (win, url, NULL);
  26. !   return;
  27.   }
  28.   
  29.   mo_status mo_post_open_local_window (mo_window *win)
  30. --- 258,292 ----
  31.   
  32.   /* ---------------------- mo_post_open_local_window ----------------------- */
  33.   
  34. + #include <sys/param.h>
  35.   static XmxCallback (open_local_win_cb)
  36.   {
  37. !     char    buf[MAXPATHLEN];
  38. !     int        bufsiz = 0;
  39. !     char*    fname;
  40. !     char*    url;
  41. !     mo_window*    win = mo_fetch_window_by_id(XmxExtractUniqid((int)client_data));
  42.   
  43. !     XtUnmanageChild (win->open_local_win);
  44. !     fname = (char *)malloc (128 * sizeof (char));
  45.     
  46. !     XmStringGetLtoR (((XmFileSelectionBoxCallbackStruct *)call_data)->value,
  47. !              XmSTRING_DEFAULT_CHARSET,
  48. !              &fname);
  49. !     if ((bufsiz = readlink(fname, &buf)) > 0) {
  50. !     url = (char*) malloc((bufsiz + 1) * sizeof(char));
  51. !     buf[bufsiz] = (char) NULL;
  52. !     (void) strcpy(url, buf);
  53. !     } else {
  54. !     url = (char*) malloc((strlen (fname) + strlen (shortmachine) + 16) * 
  55. !                  sizeof (char));
  56. !     sprintf (url, "file://%s%s\0", shortmachine, fname);
  57. !     if (url[strlen(url)-1] == '/')
  58. !         url[strlen(url)-1] = '\0';
  59. !     }
  60. !     mo_load_window_text (win, url, NULL);
  61. !     return;
  62.   }
  63.   
  64.   mo_status mo_post_open_local_window (mo_window *win)
  65.  
  66.